﻿using Sai.Core.Introspection;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Sai.Core.Rules
{
    /// <summary>
    /// Interface for interface-level validation.
    /// </summary>
    public interface IInterfaceRule : ITypeRule
    {
        /// <summary>
        /// Validate interface specific declarations.
        /// </summary>
        /// <param name="was"></param>
        /// <param name="isNow"></param>
        /// <param name="typeDifference"></param>
        void Validate(InterfaceDeclaration was, InterfaceDeclaration isNow, ITypeDifference typeDifference);
    }
}
